#include <iostream>
#include<fstream>
#include<string>
using namespace std;

const char FI = '#';
const int N = 5;
struct Equip {
   string nomEquip;
   int golsF;
   int golsC;
   int punts;
};
typedef Equip tEquip[N];


void llegirTaula(taulaEnter t, int n){
cout<<"Entra els elements: "<<endl;
for(int i=0; i<n; i++)
cin >> t[i];
}


//S'ha d'ordenar de forma afabetica
void entrarEquips (ifstream & f, tEquip & tEq, , int &nElem) {
    char tipus;
    Equip e1, e2;


   f >> tipus;
   while (tipus!=FI && nElem<N) {
       f>> e1.nomEquip;
       f>> e1.golsF;
       f>> e2.nomEquip;
       f>> e2.golsF;
       e1.golsC=e2.golsF;
       e2.golsC=e2.golsF;

       //Mirem els punts
       if(e1.golsF>e1.golsC)
           e1.punts= e1.punts + 3;
       else if(e1.golsF==e1.golsC){
           e1.punts++;
           e2.punts++;
       }else
            e2.punts= e1.punts + 3;


       //Busquem la pos en la taula

       //Inserim dades equip 1
       pos = buscarEquip(tEquip, nElem, e1.nomEquip);
       if(pos != -1){
           inserirEquip(tEq, e1, pos);
       }
       else{
           nElem++;
           inserirEquip(tEq, e1, nElem);
       }

       //Inserim dades equip 2
        pos = buscarEquip(tEquip, nElem, e2.nomEquip);
       if(pos != -1){
           inserirEquip(tEq, e2, pos);
       }
       else{
           nElem++;
           inserirEquip(tEq, e2, nElem);
       }

      f >> tipus;
   }

}

void inserirEquip(tEquip & tEq, Equip e, int pos ){
   tEquip[pos].nomEquip=e.nomEquip;
   tEquip[pos].golsC+=e.golsC;
   tEquip[pos].golsF+=e.golsF;
   tEquip[pos].punts+=e.punts;
}

int buscarEquip (tEquip & tEq,  int &nElem, string nom) {
    //crear una cerca ordenada
    int e=0;
    int d=nElem;
    int c=0;

while(d<=e){
    c=d+e/2;
    if(tEquip[centro].nomEquip.compare(nom)==0)
        return c;
    else{
        if(tEquip[centro].nomEquip.compare(nom)>0))
            e=c-1;
        else
            d=c+1;
        }
    }
    return -1;
  }

int main()
{
    int nElem;
    tEquip t;

    ifstream fMov;
    fMov.open("Equips.txt");
    if (fMov.is_open()) {
        entrarEquips(f, t, nElem);
    }
    else cout << "FITXER D'ENTRADA NO TROBAT" << endl;
    return 0;
}
